High-level python abstractions for optimal checkpointing in inversion problems
نویسندگان
چکیده
Inversion and PDE-constrained optimization problems often rely on solving the adjoint problem to calculate the gradient of the objective function. This requires storing large amounts of intermediate data, setting a limit to the largest problem that might be solved with a given amount of memory available. Checkpointing is an approach that can reduce the amount of memory required by redoing parts of the computation instead of storing intermediate results. The Revolve checkpointing algorithm offers an optimal schedule that trades computational cost for smaller memory footprints. Integrating Revolve into a modern python HPC code and combining it with code generation is not straightforward. We present an API that makes checkpointing accessible from a DSL-based code generation environment along with some initial performance figures with a focus on seismic applications.
منابع مشابه
Pyro: An Integrated Environment for Robotics Education
Pyro, which stands for Python Robotics, is a Python-based robotics programming environment that enables students to explore topics in robotics. Programming robot behaviors in Pyro is akin to programming in a high-level general purpose programming language; Pyro provides abstractions for low-level robot-specific features much like the abstractions provided in high-level programming languages. Co...
متن کاملHigh-level languages for low-level programming
ions Abstractions have a cost. File systems and network protocols are generic and not tailored to one particular application. We cannot expect an abstraction to be optimal with respect to every application that uses it. Similarly on the PL side one cannot expect a general purpose PL to provide the exact abstractions needed for one particular application. These abstractions too have a cost: they...
متن کاملDMTCP: Scalable User-Level Transparent Checkpointing for Cluster Computations
As the size of clusters increases, failures are becoming increasingly frequent. Applications must become fault tolerant if they are to run for extended periods of time. We present DMTCP (Distributed MultiThreaded CheckPointing), the first user-level distributed checkpointing package not dependent on a specific message passing library. This contrasts with existing approaches either specific to l...
متن کاملOptimised finite difference computation from symbolic equations
Domain-specific high-productivity environments are playing an increasingly important role in scientific computing due to the levels of abstraction and automation they provide. In this paper we introduce Devito, an opensource domain-specific framework for solving partial differential equations from symbolic problem definitions by the finite difference method. We highlight the generation and auto...
متن کاملPolicy-contingent state abstraction for hierarchical MDPs
Hierarchically structured planning problems often provide great opportunities for state abstraction: high-level planners can ignore fine details, while low-level planners can focus only on specific tasks. Most previous hierarchical MDP algorithms rely on hand-designed, knowledgeintensive state abstractions. We propose instead an automatic, lazy algorithm which plans from the bottom of the hiera...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1802.02474 شماره
صفحات -
تاریخ انتشار 2018